package com.etone.smartAudit.dto.wordOrder;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author 张任豪
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
@ApiModel(value = "WordOrderDTO", description = "创建工单")
public class WorkOrderDTO {

    @ApiModelProperty("工单Id")
    private Integer id;

    @ApiModelProperty("项目Id")
    private Integer itemId;

    @ApiModelProperty("项目名称")
    private String itemName;

    @ApiModelProperty("项目类型")
    private Integer itemType;

    @ApiModelProperty("项目类型名称")
    private String itemTypeName;

    @ApiModelProperty("年份")
    @NotNull(message = "年份不能为空")
    private String year;

    @ApiModelProperty(value="审计报告名称")
    @NotNull(message = "审计报告不能为空")
    private String auditReportName;

    @ApiModelProperty(value="审计报告文号")
    @NotNull(message = "审计告文号不能为空")
    private String auditReportNum;

    @ApiModelProperty(value="审计文件类型")
    @TableField("vcAuditFileType")
    private String auditFileType;

    @ApiModelProperty(value="审计文件名称")
    @TableField("vcAuditFileName")
    private String auditFileName;

    @ApiModelProperty(value="审计文件展示名称")
    @TableField("vcAuditFileOriginName")
    private String auditFileOriginName;

    @ApiModelProperty(value="审计文件路劲")
    @TableField("vcAuditFileUrl")
    private String auditFileUrl;

    @ApiModelProperty(value="账外账")
    private Double outBill;

    @ApiModelProperty(value="小金库")
    private Double coffers;

    @ApiModelProperty(value="损失金额")
    private Double lossAmount;

    @ApiModelProperty(value="不规范金额")
    private Double irregularAmount;

    @ApiModelProperty(value="会计信息处理不当金额")
    private Double mishandleAmount;

    @ApiModelProperty(value="可能造成的损失风险金额")
    private Double mayLossAmount;

    @ApiModelProperty(value="审计风险金额")
    private Double auditRiskAmount;

    @ApiModelProperty(value="审计组联系人账号")
    private String auditGroupAccount;

    @ApiModelProperty(value="审计组联系人")
    private String auditGroup;

    @ApiModelProperty(value="审计单位")
    private String auditUnit;

    @ApiModelProperty(value="工单接收人账号")
    @NotNull(message = "工单接收人账号不能为空")
    private String wordOrderAccount;

    @ApiModelProperty(value="问题概要")
    @NotNull(message = "问题概要不能为空")
    private String problemSummary;

    @ApiModelProperty(value="问题详细描述")
    @NotNull(message = "问题描述不能为空")
    private String problemInfo;

    @ApiModelProperty(value="整改建议")
    private String rectifyTips;

    @ApiModelProperty(value="整改开始时间")
    private Date rectifyStartDate;

    @ApiModelProperty(value="整改结束时间")
    private Date rectifyEndDate;

    @ApiModelProperty(value="提醒周期")
    private Integer tipsPeriods;

    @ApiModelProperty(value="提醒频率")
    private Integer tipsFrequent;

    @ApiModelProperty(value="备注")
    private String remark;
}
